System and method for expiring advertisement spaces in syndicated feeds

ABSTRACT

A system and method for managing advertisements in a syndicated feed is described. One embodiment includes a method for expiring an advertisement space in a feed. This method includes the following actions: receiving a data item associated with a feed from a publisher; determining whether an advertisement space should be associated with the data item; inserting a markup of the advertisement space into the data item; providing the data item for a user; receiving a request from the user to view the advertisement corresponding to the advertisement space and the data item; determining whether the data item is older than a threshold age; providing an advertisement to the user if the data item is not older than a threshold age, wherein the advertisement is viewable in the advertisement space; and providing a blank advertisement to the user if the data item is older than a threshold age.

RELATED APPLICATIONS

The present application is related to commonly owned and assigned application Ser. No. 10/999,490 entitled “Method and System for Processing Published Content on the Internet,” which is incorporated herein by reference.

COPYRIGHT

A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.

FIELD OF THE INVENTION

The present invention relates generally to the management of syndicated feeds and the management of advertisements in syndicated feeds. In particular, but not by way of limitation, the present invention relates to systems and methods for expiring advertisement spaces in syndicated feeds.

BACKGROUND OF THE INVENTION

Syndicated feeds are becoming increasingly popular. Traditional, commercial publishers such as REUTERS, USA TODAY and NEWSWEEK are distributing their articles to potential readers through feeds. Similarly, non-traditional publishers are using feeds to distribute their blogs, webcasts, and podcasts to potential viewers and readers. Using commercially-available readers, users can aggregate content from multiple publishers and create a personalized feed.

Not surprisingly, as feeds become more popular, content providers, such as the publishers, are looking for ways to monetize their creations by adding advertisements into the feeds or into the articles included in the feeds. The process of inserting ads into feeds, however, raises significant challenges. One method for inserting and managing ads is disclosed in U.S. patent application Ser. No. 10/999,490 entitled “Method and System for Processing Published Content on the Internet,” which is incorporated herein by reference.

One common assumption that advertisers make is assuming that distributing ads through syndicated feeds is the same as distributing ads through a web site. This assumption is wrong because of the different way that end users view web sites and feeds. At a given point in time, all users see the same version of a web page at the same time. That is, the content of a particular web page is set at a particular point in time. Accordingly, advertisers can control the location of their advertisement on the web page and can control the time when the advertisement can be viewed.

The content available to user through a syndicated feed, however, is not the same for all readers at the same time. That is, different users, viewing a feed at the same time, will view different content and different arrangement of content. Thus, advertisers control neither the physical placement of their advertisement nor the time at which the advertisement can be viewed.

This feed uniqueness is a function of when the user attempts to retrieve the feed, to which feeds the user subscribes, and how long ago the user last viewed the feed. In essence, a user views an aggregation of content pushed to that particular user. That content can come from multiple publishers or a single publisher. And until the user views or deletes the content, it remains in the user's feed. Accordingly, a feed for a particular user can become quite long if the user subscribes to multiple feeds or the user views his personal feed infrequently.

These long feeds are not conducive to successful advertising campaigns. Users do not often scroll down to the bottom of a feed to view items that are several days old. Instead, users tend to view the most recent items, and if ads are embedded in these items, then the users tend to view the most recent advertisements. And some readers only display a certain number of recent pieces of content. The older content is either pushed off of the initial page that the user views or is otherwise eliminated from the user's initial view.

Advertisers do not want to pay for—or want to pay less for—advertisements that are placed at the bottom of feeds or that are in less desirable locations within a feed. With current technology, however, there is no way to determine whether an advertisement is viewed at the top of a feed or at the bottom of a feed. This leaves advertisers with difficulty in determining how much they should pay for advertising in feeds and difficulty in determining whether their advertising campaigns are effective. Finally, inserting ads that will not be viewed by readers consumes valuable bandwidth and tends to clutter feeds, resulting in reader dissatisfaction. Accordingly, a system and method are needed to better manage advertising within feeds.

SUMMARY OF THE INVENTION

Exemplary embodiments of the present invention that are shown in the drawings are summarized below. These and other embodiments are more fully described in the Detailed Description section. It is to be understood, however, that there is no intention to limit the invention to the forms described in this Summary of the Invention or in the Detailed Description. One skilled in the art can recognize that there are numerous modifications, equivalents and alternative constructions that fall within the spirit and scope of the invention as expressed in the claims.

A system and method for managing advertisements in a syndicated feed is described. One embodiment includes a method for expiring an advertisement space in a feed. This method includes the following actions: receiving a data item associated with a feed from a publisher; determining whether an advertisement space should be associated with the data item; inserting a markup of the advertisement space into the data item; providing the data item for a user; receiving a request from the user to view the advertisement corresponding to the advertisement space and the data item; determining whether the data item is older than a threshold age; providing an advertisement to the user if the data item is not older than a threshold age, wherein the advertisement is viewable in the advertisement space; and providing a blank advertisement to the user if the data item is older than a threshold age.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects and advantages and a more complete understanding of the present invention are apparent and more readily appreciated by reference to the following Detailed Description and to the appended claims when taken in conjunction with the accompanying Drawings wherein:

FIG. 1 is a block diagram of one embodiment of a feed management system constructed in accordance with the principles of the present invention;

FIG. 2 is a block diagram of the components of one embodiment of a feed manager constructed in accordance with the principles of the present invention;

FIG. 3 is a block diagram of one embodiment of an advertisement markup insertion module constructed in accordance with the principles of the present invention;

FIG. 4 is a block diagram of one embodiment of an advertisement rendering module in accordance with the principles of the present invention;

FIG. 5 is a flow chart illustrating one method for inserting advertisement markups into a feed; and

FIG. 6 illustrates one method of rendering ads in accordance with the present invention.

DETAILED DESCRIPTION

Referring now to the drawings, where like or similar elements are designated with identical reference numerals throughout the several views, and referring in particular to FIG. 1, it illustrates one embodiment of a system 100 constructed in accordance with the present invention.

This system 100 includes a number of publishers 105 connected to a feed manager 110. Each publisher generates a feed for distribution to end users 115. Each feed could include a variety of articles, audio, tracks, video, pictures, etc. The individual items within a publisher's feed are referred to as data items, content, or content items. These feeds can be in any format, but the most common format is called “RSS” which stands for Really Simple Syndication. Much of the discussion within this document relates to RSS, but those of skill in the art understand that RSS is an exemplary feed format and that the present invention is in no way limited to RSS.

After the publishers 105 create their feeds, the feeds, including the content therein, can be provided to the feed manager 110. In one implementation, the publishers 105 provide the feeds directly to the feed manager 110. And in another implementation, the publishers provide a pointer to where the feed manager 110 can go to retrieve the feed. Either way, however, the feed 110 manager receives the feed and the individual data items within that feed.

Once the feed manager 110 receives the feeds, the feed manager 10 determines whether ads should be inserted into the individual data items. These feeds can be referred to as “original feeds.” In another embodiment, the feed manager 10 determines whether advertisement spaces should be associated with individual data items. In this embodiment, the actual advertisement is assigned to the advertisement space after a user—or an automated system associated with the user—requests to view an advertisement associated with a particular advertisement space.

Assuming that an advertisement space has been assigned to an individual data item, then the feed manager 110 can insert a markup for the advertisement space. This markup acts as a placeholder so that an advertisement can be subsequently rendered in that advertisement space. Alternatively, the feed manager can skip advertisement space assignment and directly insert an advertisement markup corresponding to an actual advertisement. In either embodiment, the markup provides a method by which to eventually render an advertisement for user viewing or listening.

The feed manager 110 can also enhance the individual data items by providing links to the publisher's web site or a relevant web site for that data items. In other embodiments the feed manager 110 can enhance the feed by providing email links so that readers can directly contact the author. Those of skill in the art will recognize that the feed manager 110 can add other enhancements to the feeds and data items before they are distributed.

After the feed manager 110 has enhanced the data items received from the publishers, the feed manager 110 can either post the feed for distribution to users or provide the data items to distributors. For example, the feed manager 110 could post the feed to a particular URL that a user could contact through the Internet 115. Alternatively, the feed manager 110 could provide the feed to an aggregator 120, such as NEWSGATOR. The aggregator 120 would then distribute the feeds and data items.

The aggregator 120 generally receives feeds from multiple sources and then extracts data items for particular users based upon user profiles. The aggregator 120 also provides a single location at which a user can view multiple feeds. For example, an aggregator 120 could pull sports stories from different feeds and then provide them to a user in an aggregated feed. The user could then access that aggregated feed and view sports stories from multiple publishers.

Referring now to FIG. 2, it illustrates components of an exemplary feed manager 125. The feed manager 125 is divided into two logical portions. The first portion 130 is for advertisement space markup insertion, and the second portion 135 is for advertisement assignment and rendering. Generally, these two portions comprise software operating on a computer system. Those skilled in the art will recognize that components of these two modules can be intermingled or integrated without altering the overall function of the feed manager. These two components are just one embodiment of the feed manager.

As will be described in more detail below, the advertisement space markup insertion module 130 is generally responsible for determining whether an advertisement space should be inserted into a data item. For example, this module can determine whether a particular data item can host an advertisement. This determination can be based on publisher preferences, content type, etc.

The advertisement rendering module 135 is responsible for selecting and providing an actual advertisement to a user as the user views the corresponding data item or in response to a user clicking on a data item or advertisement. Further, the advertisement rendering module 135 is also responsible for determining whether an advertisement should be rendered based upon expiration rules that will be discussed in more detail below. Additionally, the advertisement rendering module 135 can be responsible for determining the effectiveness of an advertising campaign and the proper billing structure for an advertising campaign. For example, the advertisement rendering module 135 can determine how many impressions of a particular advertisement were actually rendered versus how many markups were provided to individual users.

Referring now to FIG. 3, it illustrates the components of an advertisement space markup insertion module 140 in accordance with an embodiment of the present invention. As those of skill in the art will understand, the individual modules illustrated in FIG. 3 generally represent software modules and the functionality performed by the software modules. Individual functions can be combined or moved between modules. The embodiment shown in FIG. 3 is just one possible implementation. Those of skill in the art will readily recognize other implementations.

This embodiment of the advertisement space markup insertion module 140 includes a publisher interface 145 for interacting with the publishers. The publisher interface 145 provides the system and method by which publishers can provide their feeds, data items, their advertisements, and their advertisement instructions to the feed manager. This interface can utilize a number of known protocols to make it easy for publishers to transfer information to the feed manager.

Once the individual data items are received from the publishers, the advertisement space assignment module 150 determines whether an advertisement space should be assigned to a particular data item. Advertisement spaces can be assigned based upon the subject matter of a particular data item, the type of the data item, the size of the data item, publisher preferences, and/or the pricing model selected by a publisher. For example, a publisher could instruct the advertisement space assignment module may assign an advertisement space to every third data item in a particular feed.

If the advertisement space assignment module 150 assigns an advertisement space to a particular data item, then the markup inserter module 155 inserts a markup corresponding to the advertisement space. This markup does not necessarily include an actual advertisement. Rather, in the preferred embodiment, the markup acts as a pointer back to the feed manager. The user, or the user's reader, can follow this pointer and receive an actual advertisement. For example, the user could click on an advertisement space embedded into a data item. Using the information in the advertisement space markup 155, a message would then be sent from the user's computer to the remote system corresponding to the markup. That remote system could then select and send an advertisement to the user.

Once the markup of the advertisement space has been inserted into the data item, the data item is finalized and can be distributed for user consumption. Data items tend to be static, and any change to a data item effectively creates a new data item from the perspective of current reader technology. Accordingly, once the advertisement space markups are added to a data item, the advertisement space markups cannot be changed without disrupting the operation of current readers.

The distribution interface 160 is responsible for distributing these final data items. The distribution interface 160 can be responsible for posting the annotated feed to a particular URL or providing the annotated feed to the aggregator. This technology is known in the art and not described further herein.

Referring now to FIG. 4, it illustrates exemplary components of an advertisement rendering module 165. As previously discussed, the advertisement rendering module 165 is generally responsible for selecting and providing a full advertisement to a user's reader based on a markup included in a data item.

Any request from a user's reader to view a particular advertisement generally is received first by the request handler 170. The request handler 170 receives the request and extracts the identity of the advertisement space, the identity of the corresponding data item, and/or other relevant information about the data item. Relevant information may include publisher identity, data item publication date, user identity, etc.

This extracted information, or some portion of it, can be passed to the expiration analyzer 175. The expiration analyzer 175 determines whether the advertisement space has expired for that particular data item. This process of determining whether an advertisement space or advertisement has expired is discussed in further detail with regard to FIG. 6. If an advertisement space has expired, the advertisement inserter module 185 provides a blank advertisement back to the user. The typical blank advertisement consists of a single pixel that is not readily viewable by the user and not readily clicked on by the user. In other embodiments, an expiration message is passed to the user rather than a blank ad. For the purposes of this document, the term “blank ad” encompasses images not perceivable or barely perceivable by a user and expiration messages.

If the advertisement space associated with the data item has not expired, then the advertisement selector 180 selects the appropriate advertisement to render in the advertisement space. This advertisement can be pre-assigned or dynamically selected from a database 182. Dynamic selection involves selecting an advertisement based upon factors such as user identity, user profile characteristics, data item publisher identity, data item subject matter, time of data item viewing, advertising campaign budgets, etc.

Once the advertisement has been selected, the advertisement inserter module 185 retrieves the appropriate advertisement from the advertising database and provides that advertisement to the user's reader (which encompasses any type of reader or viewer). The user's reader can then render that advertisement in the corresponding advertisement space.

To keep track of rendered advertisements, the usage analyzer 190 will track how many times a particular advertisement is rendered or other data relevant to advertisers. Those of skill in the art will be familiar with this type of accounting system, and it is not described further herein.

Referring now to FIG. 5, it illustrates a flow chart 195 of one method of adding advertisement space markups to a data item. In this embodiment, a feed is initially received from a publisher. [Block 200] Assuming that the feed includes different data items, they can be individually identified. [Block 205] If the feed includes only one data item, then it is identified.

Next, for each identified data item, the system determines whether an advertising space or advertisement should be associated with that data item. [Block 210] For example, the system can determine whether the publisher permits advertisements to be inserted into its feeds. Assuming that an advertising space should be associated with that data item, the next step in this exemplary process is to insert an advertisement space markup into the data item. [Block 215] As previously described, the markup can include a pointer to the feed manager, or any rendering system. The markup can also include publisher information, a time stamp, advertisement space sizes, etc.

Once the mark up has been added, the annotated data item can then be distributed for consumption by end users. [Block 220]

Referring now to FIG. 6, it illustrates a flow chart 225 for rendering advertisements and determining whether advertising spaces have expired. In this exemplary method, a request to render a particular advertisement is initially received. [Block 230] Using that request, a determination is made as to which data item was associated with the received request. [Block 235]

Next, the age of that data item can be determined. [Block 240] The age can be determined by comparing a publishing date of the data item with the current date. This publishing date is often included in header information embedded in a data item. The request to render an advertisement can include this publishing date or otherwise provide an indication of how to determine the publishing date for a particular data item.

Using the determined age of the data item, a determination is made whether to render the advertisement. [Block 245] For example, the system could determine whether the data item is older than a threshold age. If the data item is not older than a threshold age, then the advertisement could be selected and retrieved from the advertisement database and provided to the user's reader for rendering. [Block 250] Any tracking of the distribution for evaluation or billing purposes could then take place. [Block 225 and 260]

If the data item is older than a threshold age, however, then any rendering of the advertisement could be stopped. [Block 265] In one embodiment, a blank ad, such as a single pixel, is provided in place of the full advertisement. [Block 270] The user's reader is effectively spoofed into believing that it received an advertisement. But the user sees virtually nothing.

Alternatively, a more sophisticated expiration analysis of when a data item associated with a rendering request is older than a threshold age can be performed. For example, in one embodiment, when the computer system determines that a data item is older than a threshold age, the system then attempts to determine whether the data item is in the current version of the feed. For example, if the data item is a news story that is older than 48 hours, the system may attempt to determine whether this news story is in the current version of the feed from the particular publisher. If the data item is not in the current version of the publisher's feed, then the system will distribute the blank advertisement. But if the older data item is also in the current feed, then the advertisement can be rendered in accordance with the previous discussion and the distribution of that advertisement tracked.

In conclusion, the present invention provides, among other things, a system and method for managing distribution of advertisements in syndicated feeds. Those skilled in the art can readily recognize that numerous variations and substitutions may be made in the invention, its use and its configuration to achieve substantially the same results as achieved by the embodiments described herein. Accordingly, there is no intention to limit the invention to the disclosed exemplary forms. Many variations, modifications and alternative constructions fall within the scope and spirit of the disclosed invention as expressed in the claims. 

1. A method for expiring an advertisement space in a feed, the method comprising: receiving a data item associated with a feed from a publisher; determining whether an advertisement space should be associated with the data item; inserting a markup of the advertisement space into the data item; providing the data item for a user; receiving a request from the user to view the advertisement corresponding to the advertisement space and the data item; determining whether the data item is older than a threshold age; providing an advertisement to the user if the data item is not older than a threshold age, wherein the advertisement is viewable in the advertisement space; and providing a blank advertisement to the user if the data item is older than a threshold age.
 2. The method of claim 1, wherein the feed is an original feed and wherein providing a blank advertisement comprises: determining whether the data item is included in a current feed from the publisher; and providing the blank advertisement to the user when both the data item is older than a threshold age and the data item is not included in the current feed from the publisher.
 3. The method of claim 1, wherein the user comprises an electronic reader.
 4. The method of claim 1, wherein inserting a markup of the advertisement space into the data item comprises: inserting a pointer to a system that can select the advertisement from a plurality of advertisements to render in the advertisement space.
 5. The method of claim 1, wherein determining whether an advertisement space should be associated with the data item comprises: determining the publisher of the data item; retrieving advertising rules associated with the publisher, wherein the advertising rules are established by the publisher.
 6. A method for expiring advertisement spaces in a feed, the method comprising: receiving a request from a user to view an advertisement corresponding to a markup inserted into a data item, the data item being associated with a publisher and a feed; determining if the data item is included in a current feed from the publisher; and providing a blank advertisement to the user if the data item is not included in a current feed from the publisher.
 7. The method of claim 6, further comprising: determining if the data item is older than a threshold age.
 8. The method of claim 6, wherein the feed is an original feed and wherein providing a blank advertisement comprises: determining whether the data item is older than a threshold age; and providing the blank advertisement to the user when both the data item is older than a threshold age and the data item is not included in the current feed from the publisher.
 9. The method of claim 6, wherein providing a blank advertisement to the user if the data item is not included in a current feed from the publisher comprises: providing a single pixel to the user.
 10. A computerized system for expiring advertisement spaces, the computerized system comprising: an expiration analyzer module configured to determine whether an advertisement space associated with a data item included in a feed has expired; an ad selector module in communication with the expiration analyzer module; and an ad insertion module in communication with the expiration module.
 11. A method of rendering advertisements in a data feed, the method comprising: receiving a data item corresponding to an original feed, the data item including an advertisement space markup; requesting an advertisement, wherein the advertisement is associated with the advertisement space markup; receiving a blank advertisement rather than the requested advertisement; wherein the blank advertisement is provided because the data item is not included in a current feed from the publisher.
 12. A method of rendering advertisements in a data feed, the method comprising: receiving a data item corresponding to a feed, the data item including an advertisement space markup; requesting an advertisement, wherein the advertisement is associated with the advertisement space markup; receiving a blank advertisement rather than the requested advertisement; wherein the blank advertisement is provided because the data item is older than a threshold age.
 13. A computerized system for expiring advertisement spaces in a feed, the system comprising: a receiving module configured to receive a request from a user to view an advertisement corresponding to a markup inserted into a data item, the data item being associated with a publisher and a feed; an expiration analyzer module configured to determine if the data item is included in a current feed from the publisher; and an advertisement insertion module configured to provide a blank advertisement to the user if the data item is not included in a current feed from the publisher.
 14. The system of claim 13, wherein the expiration analyzer module is further configured to determine if the data item is older than a threshold age.
 15. The system of claim 13, wherein the feed is an original feed and wherein the advertisement insertion module is configured to provide the blank advertisement to the user when both the data item is older than a threshold age and the data item is not included in the current feed from the publisher. 